home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / te2_134t.zip / TE2INST.001 / Whats.New < prev    next >
Text File  |  1997-07-03  |  72KB  |  1,559 lines

  1.                                          Notes for TE/2 Version 1.34
  2.                                                         Jult 4, 1997
  3.  
  4.                                                      Oberon Software
  5.                                                   1405 East Main St.
  6.                                               Mankato, MN 56001-5070
  7.  
  8.                                                  Voice: 507/388-7001
  9.                                                  BBS:   507/388-1154
  10.                                           ob-tech@OberonSoftware.com
  11.                                        http://www.OberonSoftware.com
  12.  
  13.   -------------------------------------------------------------
  14.  
  15. Copyright 1991-97, Oberon Software, Mankato, MN - All Rights Reserved
  16.  
  17.   -------------------------------------------------------------
  18.  
  19. The top portion of this document outlines the changes applied between
  20. TE/2 Version 1.33 and 1.34.  The second portion of this document
  21. outlines the changes applied between TE/2 Version 1.32 and 1.33.  The
  22. third portion of this document outlines the changes applied between
  23. TE/2 Version 1.31 and 1.32.  The fourth portion of this document
  24. outlines the changes applied between TE/2 Version 1.30 and 1.31.  The
  25. fifth portion of this document outlines the changes made between TE/2
  26. Version 1.24 and 1.30.  The sixth portion of this document outlines
  27. the changes made between TE/2 Version 1.23 and 1.24.  The seventh
  28. portion of this document outlines changes made between TE/2 Version
  29. 1.20 and 1.23.  The eighth portion of this document outlines the
  30. changes made between TE/2 Version 1.10C and 1.20.
  31.  
  32.   -------------------------------------------------------------
  33.  
  34. General Notes
  35.  
  36.   Our web site is now at http://www.OberonSoftware.com.
  37.  
  38.  
  39. New Emulation
  40.  
  41.   TeleVideo 950.  This is a *partial* emulation.  It handles basic
  42.   screen addressing and keyboard handling.  It does NOT fully implement
  43.   protected fields, scroll locking, or page-edit mode nor does it
  44.   implement the TVI950 status bar.  Please let us know if any of the
  45.   unimplemented features are drasticaly needed and we will attempt
  46.   to provide them in the next update.
  47.  
  48.  
  49. New INI File Settings
  50.  
  51.      Variable        Setting and Notes
  52.      -------------   -------------------------------------------------
  53.      NoCursorMods    set to TRUE or FALSE.  Default is FALSE.  If TRUE,
  54.                      then TE/2 will never attempt to modify the text
  55.                      mode cursor even if it has been instructed to do
  56.                      so by other INI file settings, script commands, or
  57.                      commands sent to the VT102 emulation from a host.
  58.                      Use this on a laptop if you find that the cursor
  59.                      disappears under normal operation.
  60.      DialFailScr     set to a script name.  Default is no script name.
  61.                      This specifies a TE/2 script to be executed if
  62.                      the dialer exceeds the maximum number of redials
  63.                      set via the MaxReDials INI file setting.
  64.  
  65.  
  66. Script Notes:
  67.  
  68.   Added terminal type TV950 for use with script language EMULATE()
  69.   command.  The terminal type numeric indices are:
  70.           TTY         0
  71.           ANSI        1
  72.           XANSI       2
  73.           VT100       3
  74.           IBM3101     4
  75.           AVATAR      5
  76.           TV950       6
  77.  
  78.  
  79.  
  80. ====================================================================
  81.                                          Notes for TE/2 Version 1.33
  82.                                                    December 12, 1996
  83.  
  84.                                                      Oberon Software
  85.                                                   1405 East Main St.
  86.                                               Mankato, MN 56001-5070
  87.  
  88.                                                  Voice: 507/388-7001
  89.                                                  BBS:   507/388-1154
  90.                                             oberon@prairie.lakes.com
  91.                                     http://prairie.lakes.com/~oberon
  92.  
  93.   -------------------------------------------------------------
  94.  
  95. Copyright 1991-96, Oberon Software, Mankato, MN - All Rights Reserved
  96.  
  97.   -------------------------------------------------------------
  98.  
  99. General Notes
  100.  
  101.   Our web site at http://prairie.lakes.com/~oberon is continually
  102.   updated; please check in regularly for new information.  Soon,
  103.   the URL for this web site will change to http://www.OberonSoftware.com
  104.   but the older address will still work for the foreseeable future
  105.   as well.
  106.  
  107.   The TCP/IP support modules are now distributed with the Test Drive
  108.   version of TE/2.  See the file README.TCP in the TE/2 directory
  109.   for information on setting up to use these features.
  110.  
  111.  
  112. Problem resolution
  113.  
  114.   TE/2 was not setting or displaying baud rates greater than 57600
  115.   correctly.  This has been corrected.
  116.  
  117.   Based on an older Telnet client spec, TE/2 was appending an ASCII NUL
  118.   character (ASCII 0) to every carriage return unless LFAfterCR was
  119.   enabled.  This was causing problems with certain telnet hosts so this
  120.   behavior has been removed.
  121.  
  122.   Incoming ASCII NUL characters (ASCII 0) are stripped on input but this
  123.   was causing problems with Telnet handshaking with certain Telnet hosts.
  124.   This behavior has been removed when TE/2 is configured as a Telnet
  125.   client.
  126.  
  127.  
  128. New INI File Settings
  129.  
  130.      Variable        Setting and Notes
  131.      -------------   -------------------------------------------------
  132.      RawLog          set to TRUE or FALSE.  If set to TRUE and TE2Debug is
  133.                      enabled, then the "te2raw.log" file will be opened and
  134.                      written to beginning immediately at program startup.
  135.  
  136.      ZMBlkOverRide   set to TRUE or FALSE.  If set to TRUE then ZModem will
  137.                      accept ANY block size override which you have specified
  138.                      in ZMTxBlkOpt.  By default the maximum block size is 1024
  139.                      and can only be reduced with ZMTxBlkOpt.  Use this setting
  140.                      with care; setting block size larger than 1024 will almost
  141.                      certainly cause ZModem to cease functioning with almost all
  142.                      other ZModem implementations.  This affects only ZModem
  143.                      uploads.
  144.  
  145.      ZMProcommFlag   set to TRUE or FALSE.  IF set to TRUE then ZModem will
  146.                      add certain header information when uploading files to
  147.                      mimic the behavior of older versions of Procomm which seem
  148.                      to require this information.  Use this only if you are
  149.                      running TE/2 in host mode and you have callers using
  150.                      Procomm which are having trouble downloading files.
  151.  
  152.  
  153. Revised INI File Setting
  154.  
  155.   Changed INI file setting: QueryZMRecover from simple true/false to
  156.   tri-state true/false/auto.  Setting QueryZMRecover to "true" or
  157.   "false" will have exactly the same effect it always has.  Setting
  158.   it to "auto" will cause zmodem to always attempt a "resume" in
  159.   situations where it is possible (i.e., a file exists locally with
  160.   the same name as the incoming file AND the local file is smaller
  161.   than the incoming file).
  162.  
  163.   Using QueryZMRecover and ClobberDL settings in tandem, we can now
  164.   generate more desired behaviors from zmodem in the case of a filename
  165.   collision:
  166.  
  167.   ClobberDL  QueryZMRecover  Result
  168.   ---------  --------------  --------------------------------------
  169.   false      false           Always error out (abort file xfer)
  170.   true       false           Always overwrite local file
  171.   salvage    false           Always rename local file before xfer
  172.   false      true            If resume possible, ask user otherwise
  173.                                abort xfer
  174.   true       true            If resume possible, ask user otherwise
  175.                                overwrite local file
  176.   salvage    true            If resume possible, ask user otherwise
  177.                                rename local file before xfer
  178.   false      auto            Resume if possible otherwise abort xfer
  179.   true       auto            Resume if possible otherwise overwrite
  180.                                local file
  181.   salvage    auto            Resume if possible otherwise rename
  182.                                local file before xfer
  183.  
  184.  
  185. New command line switch
  186.  
  187.   -z<filename>  This switch will cause TE/2 to open the specified
  188.                 "RawLog" file (generated by running TE/2 in debug
  189.                 mode and pressing Alt-Insert or by specifying
  190.                 "RawLog true" in TE2.INI), "play back" the contents
  191.                 of that file and exit when finished.
  192.  
  193.  
  194. ====================================================================
  195.                                          Notes for TE/2 Version 1.32
  196.                                                        June 12, 1996
  197.  
  198.                                                      Oberon Software
  199.                                                   1405 East Main St.
  200.                                               Mankato, MN 56001-5070
  201.  
  202.                                                  Voice: 507/388-7001
  203.                                                  BBS:   507/388-1154
  204.                                             oberon@prairie.lakes.com
  205.                                     http://prairie.lakes.com/~oberon
  206.  
  207.   -------------------------------------------------------------
  208.  
  209. Copyright 1991-96, Oberon Software, Mankato, MN - All Rights Reserved
  210.  
  211.   -------------------------------------------------------------
  212.  
  213. General Notes
  214.  
  215.   TE/2 will read TE/2 Pro! dialing directory files correctly and
  216.   preserve the extra, TE/2 Pro! specific fields when saving the
  217.   file.
  218.  
  219.   All file transfer logic reworked in TE/2 and in COMMPAK2.DLL for
  220.   better handling of file transfers over a Telnet session.
  221.  
  222.  
  223.  
  224. ====================================================================
  225.                                          Notes for TE/2 Version 1.31
  226.                                                      October 4, 1995
  227.  
  228.                                                      Oberon Software
  229.                                                   1405 East Main St.
  230.                                               Mankato, MN 56001-5070
  231.  
  232.                                                  Voice: 507/388-7001
  233.                                                  BBS:   507/388-1154
  234.  
  235.   -------------------------------------------------------------
  236.  
  237. Copyright 1991-95, Oberon Software, Mankato, MN - All Rights Reserved
  238.  
  239.   -------------------------------------------------------------
  240.  
  241. General Notes
  242.  
  243.      Allan Hart is currently the sysop on the Oberon Software BBS.
  244.      If you post questions on the BBS about TE/2 and/or the BBS,
  245.      please address them to Allan.
  246.  
  247.      Contact Oberon Software on the Internet via one of the following
  248.      addresses:
  249.        oberon@ic.mankato.mn.us
  250.        oberon@prairie.lakes.com
  251.  
  252.      Check out our Web Home Page at either of these addresses:
  253.        http://www.ic.mankato.mn.us/web/oberon/oberon.html
  254.        http://prairie.lakes.com/~oberon
  255.  
  256.  
  257. Features
  258.  
  259.      Support for AVATAR emulation mode.  This is a fully binary, and
  260.      therefore fast, emulation mode which is used by various BBS
  261.      software packages.  AVATAR is backwards compatible with ANSI
  262.      mode.  Because of the binary nature of AVATAR, some warnings
  263.      apply:  AVATAR can, and will, use all 256 possible character
  264.      values as control characters therefore you cannot use Xon/Xoff
  265.      handling on your com port with AVATAR nor may you translate
  266.      incoming characters via the TE2INP.XLT file.
  267.  
  268.      Support for "8-bit ANSI" in both ANSI modes and in VT102 mode.
  269.      This effectively makes TE/2's VT102 screeen handling VT220
  270.      compatible.
  271.  
  272.      Support for automatically indenting text during ASCII uploads
  273.      plus finer script language control of ASCII uploads.
  274.  
  275.      Display the modem "link rate" (the DCE rate) on TE/2's status
  276.      bar instead of the usual DTE rate.  This is use configurable.
  277.  
  278.      New script language functions and relaxed restrictions on
  279.      variable and subroutine names.
  280.  
  281.      Support for conntecting to TCP/IP sockets is now included in
  282.      the base TE/2 package.
  283.  
  284.  
  285. New INI File Settings
  286.  
  287.      Variable        Setting and Notes
  288.      -------------   -------------------------------------------------
  289.      Ansi8Bit        Set to TRUE/FALSE, default is FALSE.  Enables
  290.                      8-bit ANSI extension (ANSI will treat CSI character
  291.                      (0x9b) as though it were an "ESC [" sequence.
  292.  
  293.      AsciiULIndent   Set to TRUE or FALSE, default FALSE.  If set to
  294.                      TRUE, there will be one space prepended to every line
  295.                      in subsequent ASCII uploads.  Also settable via new
  296.                      SETASCIIUL() script function.
  297.  
  298.      LinkRateDisplay Set to TRUE or FALSE, default FALSE.  TE/2 attempts
  299.                      to discern the modem to modem link-baud rate by
  300.                      parsing the first numeric value from the modem's
  301.                      CONNECT message.  If LinkRateDisplay is set to TRUE,
  302.                      this the link rate value will be displayed on the
  303.                      status bar while TE/2 is online.
  304.  
  305.      HoldXmit        If set to 0 or FALSE (the default setting) everything
  306.                      works like normal; if set to TRUE or any other
  307.                      non-zero value, then nothing will be transmitted
  308.                      via TRANSMIT() or SENDBYTE() although TE/2 will act
  309.                      as it it had sent the data.  This is to facilitate
  310.                      creation of "Local Login" features in host mode
  311.                      scripts.  WARNING: TE/2 itself uses TRANSMIT() and
  312.                      SENDBYTE() internally so DO REMEMBER to turn this
  313.                      back off after you're sone with it.  It also will
  314.                      NOT effect the file transfer protocols so don't try
  315.                      an upload or download during your "Local Login"!
  316.  
  317.  
  318. New Script Functions
  319.  
  320.   integer SetANSI8Bit(integer boolflag)
  321.    Switches ANSI 8-bit extension(s) ON/OFF
  322.     boolflag - 1 to turn ON, 0 to turn OFF
  323.     returns: previous setting
  324.  
  325.  
  326.   integer SetAsciiUL(string parm, integer value)
  327.    Set ASCII upload parameters
  328.     parm  - may be one of "Prompt", "CRbeforeLF", "Expand", "Indent",
  329.             "View", "SevenBit", "CharPacing", "LinePacing", "CharTimeout",
  330.             or "PromptTimeout".  This is NOT case sensitive.
  331.     value - If "parm" is "Prompt", "value" is expected to be the ASCII
  332.             value of the expected prompt character or 0 for no prompt.
  333.             If "parm" is "CharPacing", "LinePacing", "CharTimeout", or
  334.             "PromptTimeout", then "value" is expected to be a numeric
  335.             value for that setting.  Otherwise it is expected to be TRUE
  336.             or FALSE.
  337.     returns: TRUE if "Parm" was value, FALSE if not.
  338.  
  339.     Note that "SetAsciiUL("Indent", value)" is equivalent to
  340.     "AsciiULIndent = value" and "SetAsciiUL("View", value)" is equivalent
  341.     to "LocalEcho = value" (this last has other implications!  Be careful.)
  342.  
  343.  
  344.   integer GetAsciiUL(string parm)
  345.    Queries ASCII Upload parameters.
  346.     parm - The values for "parm" are identical with the ones given for
  347.            SetAsciiUL above.
  348.     returns: the value of the requested parm or -1 if "parm" was invalid.
  349.  
  350.  
  351. Other Script Notes:
  352.  
  353.   Added terminal types IBM3101 and AVATAR for use with script language
  354.   EMULATE() command.
  355.  
  356.   TE/2 Script Language variable and subroutine names now allow the use of
  357.   the underscore character in much the same manner as "C".  EMULATE() was
  358.   broken because it expected "ansi_te2" or "ansi_bbs" as two of the
  359.   possible arguments but the parser would not allow either.
  360.  
  361.   EMULATE() will now also take the numeric values of the terminal types as
  362.   an argument.  Arguments less than zero and greater than 6 are treated as
  363.   'QUERY'.
  364.  
  365.   Fixed DUMPINIT() to correctly report Baud, ExtBaud, Priority Classes,
  366.   and filenames.
  367.  
  368.   Mysterious "unexpected end of file" errors in TE/2 scripts should no
  369.   longer be a problem.
  370.  
  371.  
  372. Problems addressed:
  373.  
  374.   Corrected bug in Dialing Directory Entry screen where an invalid
  375.   character typed while on a dropdown or a button would cause a lock-up.
  376.  
  377.   Corrented bug in logfile handling via the script command LOGOPEN().
  378.   It had been possible to get LOGOPEN() into a state where it would
  379.   ignore it's second parameter (TRUE=overwrite, FALSE=append) and it
  380.   would do whatever the last action taken by the ALT_L dialog had
  381.   been (which is 'overwrite' for a new log file).
  382.  
  383.   Corrected problem wherein the dialer would never time out in a
  384.   no-answer situation if the modem did not provide the "RINGING"
  385.   response.  This problem was addressed in TE/2 1.30 via the patch
  386.   PATCH130.  Unfortunately, the patch introduced another problem
  387.   which would cause the dialer to slow to crawl after numerous
  388.   redials.  Both problems are resolved in TE/2 1.31.
  389.  
  390.   If the time/date of "Last Connect" in a directory file was glitched
  391.   it could cause a protection violation or, at least, grabage on the
  392.   screen in the directory display if you viewed that information.
  393.   This is now protected against.
  394.  
  395.   Fixed divide-by-zero problem with Z/Ymodem over named pipe or socket.
  396.  
  397.   Fixed problems associated with log files: Backspaces not translating
  398.   correctly and dealing with stray EOF markers at the end of file.
  399.  
  400.  
  401.  
  402. ====================================================================
  403.                                          Notes for TE/2 Version 1.30
  404.                                                       March 16, 1994
  405.  
  406.                                                      Oberon Software
  407.                                                   1405 East Main St.
  408.                                               Mankato, MN 56001-5070
  409.  
  410.                                                  Voice: 507/388-7001
  411.                                                  BBS:   507/388-1154
  412.  
  413.   -------------------------------------------------------------
  414.  
  415. Copyright 1991-94, Oberon Software, Mankato, MN - All Rights Reserved
  416.  
  417.   -------------------------------------------------------------
  418.  
  419.  
  420. General Notes
  421.  
  422.      Please note our NEW ADDRESS given directly above!  All phone numbers
  423.      remain the same.
  424.  
  425.      Also note that Steven Tower's Internet and GEnie ID's are no longer
  426.      active;  you may contact Steven via the Oberon BBS however.
  427.  
  428.  
  429. Features
  430.  
  431.      Multi-Media, sound file support!  You can specify WAV or VOC files
  432.      to play for various events within TE/2, attach a sound file to
  433.      each dialing directory entry, and play and record WAV files
  434.      directly from your TE/2 or REXX scripts.
  435.  
  436.      Fully remappable, multiple keyboards!  Use the supplied TE2KBD
  437.      program to create alternate keyboard mapping files.  You can
  438.      attach any script command to any keystroke, and load and save
  439.      keyboards from your scripts.
  440.  
  441.      You can now pass parameters to your TE/2 syntax or REXX syntax
  442.      TE/2 scripts!
  443.  
  444.      Greatly enhanced External programs interface including separate
  445.      external file transfer protocol sections.  You can now easily use
  446.      DOS based external file transfer engines with TE/2.  See notes
  447.      later in this document regarding use of DOS based external protocol
  448.      engines.
  449.  
  450.  
  451. New INI File Settings
  452.  
  453.      Variable       Setting and Notes
  454.      -------------  -------------------------------------------------
  455.      ChimeWAV       Filename, default NULL.  Only applicable if you
  456.                     have MMOS2 installed on your system.  This WAV file
  457.                     will be played instead of the regular TE/2 "Chime".
  458.  
  459.      Chime5         TRUE/FALSE, default FALSE.  Only applicable if you
  460.                     have MMOS2 installed on your system.  Setting this to
  461.                     TRUE will enable playing of the Chime5WAV after every
  462.                     five minutes of on-line time.
  463.  
  464.      Chime15        TRUE/FALSE, default FALSE.  Only applicable if you
  465.                     have MMOS2 installed on your system.  Setting this to
  466.                     TRUE will enable playing of the Chime15WAV after every
  467.                     fifteen minutes of on-line time.
  468.  
  469.      Chime60        TRUE/FALSE, default FALSE.  Only applicable if you
  470.                     have MMOS2 installed on your system.  Setting this to
  471.                     TRUE will enable playing of the Chime60WAV after every
  472.                     sixty minutes of on-line time.
  473.  
  474.      Chime5WAV      Filename, default NULL.  Only applicable if you
  475.                     have MMOS2 installed on your system.  If enabled, this
  476.                     file is played after every five minutes of on-line time.
  477.  
  478.      Chime15WAV     Filename, default NULL.  Only applicable if you
  479.                     have MMOS2 installed on your system.    If enabled, this
  480.                     file is played after every fifteen minutes of on-line
  481.                     time.
  482.  
  483.      Chime60WAV     Filename, default NULL.  Only applicable if you
  484.                     have MMOS2 installed on your system.    If enabled, this
  485.                     file is played after every sixty minutes of on-line time.
  486.  
  487.      DialingWAV     Filename, default NULL.  Only applicable if you have MMOS2
  488.                     installed on your system.  This file will be played whenever
  489.                     TE/2 dials a number if there is no personalized sound file
  490.                     specified in the dialing directory entry for that number.
  491.  
  492.      EndingWAV      Filename, default NULL.  Only applicable if you have MMOS2
  493.                     installed on your system.  This file will be played when
  494.                     TE/2 exits.
  495.  
  496.      StartupWAV     Filename, default NULL.  Only applicable if you have MMOS2
  497.                     installed on your system.  This file will be played when you
  498.                     start TE/2.
  499.  
  500.      XferStartWAV   Filename, default NULL.  Only applicable if you have MMOS2
  501.                     installed on your system.  This file will be played when TE/2
  502.                     begins a file transfer.
  503.  
  504.      XferSuccessWAV Filename, default NULL.  Only applicable if you have MMOS2
  505.                     installed on your system.  This file will be played after
  506.                     successful completion of a file transfer.
  507.  
  508.      XferFailWAV    Filename, default NULL.  Only applicable if you have MMOS2
  509.                     installed on your system.  This file will be played if a
  510.                     file transfer failed for any reason.
  511.  
  512.      Telnet         TRUE/FALSE, default FALSE.  If set to TRUE, TE/2 will
  513.                     initiate Telnet handshaking at startup and will respond
  514.                     to Telnet protocol messages throughout operation.
  515.  
  516.      StatBarAttr    Color Attribute, controls the color of the TE/2 Status Bar.
  517.                     Please note that this attribute is not yet included in the
  518.                     colors you can set via the Te2Color program.  It is set to
  519.                     yellow on blue by the install program and if you wish to
  520.                     modify it you will need to use a text editor on your TE2.INI
  521.                     file to change it "by hand".
  522.  
  523.      Device         This is not new but it should be noted here that you can
  524.                     now specify "Nul" as a device name.
  525.  
  526.      MenuActive     This is not new but its functionality has changed.  You may
  527.                     now set it to one of three settings which will determine the
  528.                     initial display of the TE/2 Menu or Status Bar:
  529.                       * 0 -> No menu or status bar
  530.                       * 1 -> Menu
  531.                       * 2 -> Status Bar
  532.  
  533.      TE2Menu        Filename, default NULL.  If set to a valid file name, the
  534.                     contents of the file will replace the default TE/2 menu
  535.                     (Alt-Z).  The menu lines begin at the beginning of the
  536.                     file and end when the end of file is encountered or when
  537.                     the string "$$END$$" appears at the beginning of a line.
  538.                     The menu is drawn in "MenuNormAttr" color unless changed
  539.                     with one of the two available color-indicator characters:
  540.                         ~ will set "MenuHiAttr" if "MenuNormAttr" is in effect
  541.                           else it will reset "MenuNormAttr"
  542.                         $ will set "LogoAttr" unless "LogoAttr" is already in
  543.                           effect in which case it will reset "MenuNormAttr".
  544.                     NOTE: Setting "TE2Menu" from a script will have absolutely
  545.                           no effect; it is only read and parsed at startup.
  546.  
  547.      InitWindowPos  Special, no default.  You may set this to one of three
  548.                     values:
  549.                       * Maximize
  550.                       * Minimize
  551.                       * @<filename>
  552.                     This controls the initial placement of TE/2's window, the
  553.                     settings are not valid if you run TE/2 in a full screen
  554.                     session.  The "Maximize" and "Minimize" settings should
  555.                     be self-explanitory; "@<filename>" indicates the name of
  556.                     a file which will be used to store TE/2's window position
  557.                     values between executions so that they may be restored on
  558.                     the next exection.  If this variable does not appear in
  559.                     TE2.INI, TE/2's initial window position will be determined
  560.                     by OS/2.
  561.  
  562.      CommShared     TRUE/FALSE, default FALSE.  Use this setting WITH GREAT
  563.                     CARE!  This will cause TE/2 to open it's Device in "Shared
  564.                     Mode" which allows other applications to open and use the
  565.                     device simultaneously with TE/2.  This could cause great
  566.                     problems if not used appropriately.
  567.  
  568.      TE2Pipe        Pipename, default NULL.  If used, the argument should be
  569.                     a valid pipe name, i.e., "\pipe\te2pipe" or some such.
  570.                     External processes may use this pipe to send commands into
  571.                     TE/2; the pipe will accept anything that the Interpret()
  572.                     function will accept.  The external process must send a
  573.                     2-byte word on the pipe stating the length of the
  574.                     following string before the string.  TE/2 will return the
  575.                     length of string it read.  See the supplied TE2PIPE
  576.                     program for an example of using this facility from an
  577.                     external process.
  578.  
  579.      ErrorPopUp     TRUE/FALSE, default TRUE.  If TRUE, the normal error
  580.                     popup dialog will appear on script syntax errors, file
  581.                     open oerrors, etc.  If FALSE, only a message will be
  582.                     printed to stdout.  This will allow a remote process
  583.                     to pipe in commands that could possibly be invalid and
  584.                     not worry about getting TE/2 into a state where it's
  585.                     waiting for use input.  You would also want to use this
  586.                     in a host mode script to allow the remote user to enter
  587.                     script commands via Interpret().
  588.  
  589.      KeyMapFile     Filename, defailt NULL.  If this variable is set it should
  590.                     indicate the name of a TE/2 Keyboard Mapping file created
  591.                     via the TE2KBD program.  This file will be read as the
  592.                     default keyboard mapping file at TE/2 startup.
  593.  
  594.      DialCheckDCD   TRUE/FALSE, default TRUE.  If set to false, TE/2 will NOT
  595.                     check for a carrier signal before dialing a number.
  596.  
  597.      ANSIBackspace  TRUE/FALSE, default FALSE.  If set to TRUE, the backspace
  598.                     character in either of the ANSI emulations will become
  599.                     non-destructive.
  600.  
  601.      MaxReDials     Numeric, default 0=infinity.  If set to a non-zero value
  602.                     this becomes the absolute maximum number of dialing
  603.                     attempts that TE/2 will make on any given number before
  604.                     aborting.
  605.  
  606.      XEXUploadFile  Filename, default TE2Upl.XEX.  Format of the file is
  607.                     identical to the TE2.XEX file, this files contents will
  608.                     determine the External Upload Protocol menu.
  609.  
  610.      XEXDnloadFile  Filename, default TE2Dnl.XEX.  Format of the file is
  611.                     identical to the TE2.XEX file, this files contents will
  612.                     determine the External Download Protocol menu.
  613.  
  614.  
  615. New Script Functions
  616.  
  617.   integer PlayFile(string fname, integer wait)
  618.    Play a file via MMOS2.
  619.     fname - name of a file 'playable' via MMOS2
  620.     wait  - if 0 willplay file asynchronously, otherwise synchronous
  621.     returns: 0 if no error (asynch mode always returns 0) or an error value
  622.  
  623.   integer RecordFile(string fname, string wintitle)
  624.    Record a file via MMOS2.
  625.     fname    - name of file to record into bia MMOS2
  626.     wintitle - titlebar text for recorder control
  627.     returns: 0 if no error or an error value
  628.     notes: function not available in full screen mode
  629.  
  630.   integer MainMenu(integer option)
  631.    Set the TE/2 menu state.
  632.     option should be one of:
  633.      -1 -> cycle
  634.       0 -> No menu or status bar
  635.       1 -> Menu
  636.       2 -> Status bar
  637.     returns: TRUE if menu changed state, FALSE if not
  638.  
  639.   integer ReStart(integer option)
  640.    Close and reopen the current "Device"
  641.     option - if TRUE, use will be prompted for action after the device
  642.              has been closed and before it is reopened.  User may elect
  643.              to exit TE/2 at this point.  If FALSE, ReStart() procedes
  644.              directly to the reopen phase.
  645.     returns: TRUE if successful, FALSE if not (see notes)
  646.     Notes: function not available if TE/2 was started with a "hot" handle.
  647.            If Restart() fails, usually TE/2 will be exited.
  648.            If Telnet handshaking is enabled, it will be reinitialized. 
  649.  
  650.   integer WindowMinMax(integer option)
  651.    Set TE/2's window state.
  652.     option should be one of:
  653.       0 -> Minimize
  654.       1 -> Maximize
  655.       2 -> Restore
  656.     returns: 0 if no error or an error value
  657.     notes: function not available in full screen mode
  658.  
  659.   integer Interpret(string cmd)
  660.    Invoke the script parser on its argument and execute it
  661.    as a script command.  The function always returns TRUE.
  662.    Anything that can be typed at the "Command:" prompt can be
  663.    executed via Interpret().
  664.    Examples:
  665.      Interpret("hangup(false)")
  666.      Interpret("downloadpath = d:\foo")
  667.  
  668.   integer ReadKeyFile(string filename)
  669.    reads a keyboard definition file into the current keyboard setup
  670.    overwriting the current setup.
  671.  
  672.   integer PushKeyboard(void)
  673.    saves the currently active keyboard setup and creates a new
  674.    keyboard with all TE/2 default key mappings.
  675.  
  676.   integer PopKeyboard(void)
  677.    restores a pushed keyboard and discards the current keyboard.
  678.  
  679.   string QueryKeyFile(void)
  680.    Returns the name of the currently loaded key mapping file (loaded
  681.    via "KeyMapFile" in TE2.INI or the ReadKeyFile() function) or the
  682.    empty string if the default keyboard is in effect.
  683.  
  684.   integer SetANSIBS(integer flag)
  685.    Sets the ANSI Backspace flag and re-inits the emulation to enable
  686.    this mode.  Returns the previous value of the flag.
  687.  
  688.   integer SetParms2(string newdev, ... etc)
  689.    exactly like SetParms() in all respects except that it takes a
  690.    string argument for the device name instead of an integer 'port number'
  691.    so it can be used to switch devices with the device name isn't COMx.
  692.    See the docs on SetParms() for info in the rest of the parameter list.
  693.  
  694.   integer PopupMenu(string title, string items, integer row, integer col,
  695.                       integer at1, integer at2, integer sel)
  696.  
  697.    title -- Title for the menu, may be "" for no title
  698.    items -- Delimited list of items for menu, first char defines the
  699.             delimiter.  See MuxWait(), it's list of items is constructed
  700.             the same way.
  701.    row   -- For upper left corner of the menu
  702.    col   -- For upper left corner of the menu
  703.    at1   -- Color Attribute for menu
  704.    at2   -- Color Attribute for menu highlights
  705.    sel   -- Initial selection.  If <0 or >number of items, item 1 is
  706.             selected initially
  707.  
  708.    The menu is sized based on number of items and the longest item
  709.    (or title).  The first character of each item is treated as a
  710.    mnemonic.  Returns the number of the item selected, 0 if the user
  711.    pressed ESCape.
  712.  
  713.    Example:
  714.      PopupMenu("My Menu", "/One/Two/Three/", 10, 30, 0x17, 0x1f, 2)
  715.  
  716.  
  717. Other Script Notes:
  718.  
  719.   Parameters for script files!  Both the RUN() statement and the
  720.   "CALL" pseudo statement have been enhanced to allow for parameters
  721.   which will be passed to the script file.  A TE/2 script language
  722.   script may retrieve these by querying the read-only string variable:
  723.   "ScriptArgs".  The entire parameter line will be in this variable and
  724.   it is the responsibility of the script to parse it as it sees fit.
  725.   A REXX language TE/2 script retrieves the parameters via the standard
  726.   PARSE ARG methods.
  727.  
  728.   Note that the RUN() statement now accepts either one or two string
  729.   parameters.  RUN("MyScript", "Arg1 Arg2") will execute "MyScript" and
  730.   place "Arg1 Arg2" in ScriptArgs.  The statement RUN("MyScript") is
  731.   also legal and it is equivalent to RUN("MyScript", "").
  732.  
  733.   When you use CALL from the TE/2 Alt-/ Command Prompt, any non-space
  734.   characters after the script name will be taken as script parameters.
  735.   Leading spaces are stripped from the parameter string but not trailing
  736.   ones.  Note that because the space is used as a delimiter here you
  737.   cannot CALL a script with a space in its file name.
  738.  
  739.   You can specify a parameter string to a script started via TE/2's
  740.   command line "-m" switch by using "-a".  Example:
  741.  
  742.           TE2 -mMyScript "-aArg1 Arg2"
  743.  
  744.   Similarly, you can pass parameters to TE2START.SCR using "-u".
  745.  
  746.  
  747. Notes regarding DOS based External Protocols:
  748.  
  749.   1. You MUST use SIO.SYS and VSIO.SYS
  750.      1a. You MUST use an minimally documented feature of SIO.  On the
  751.          SIO "device=" line, you have to specify the port and use
  752.          a "-" in the fourth parameter.  I.e.:
  753.  
  754.            device=d:\usrdev\sio.sys (2,2f8,3,-)
  755.            device=d:\usrdev\vsio.sys (2,2f8,3,-)
  756.  
  757.   2. You MUST run the DOS program from a .BAT batch file via CMD.EXE
  758.      as a foreground, child task in the current session.  An example
  759.      of an entry for HSLINK from my TE2Upl.XEX file is:
  760.  
  761.          0x0011,0
  762.          HSLink
  763.          c:\os2\cmd.exe*d:\comm\dosxtern\hslink
  764.          /c hsl.bat %n %?[Send file(s):]
  765.  
  766.      and HSL.BAT reads:
  767.  
  768.          @echo off
  769.          hslink -p%1 -uE:\Inbound\Data %2 %3 %4 %5 %6 %7 %8 %9
  770.          exit
  771.  
  772.  
  773.  
  774. ====================================================================
  775.                                          Notes for TE/2 Version 1.24
  776.                                                        July 19, 1993
  777.  
  778.                                                      Oberon Software
  779.                                                   518 Blue Earth St.
  780.                                               Mankato, MN 56001-2142
  781.  
  782.                                                  Voice: 507/388-7001
  783.                                                  BBS:   507/388-1154
  784.  
  785.   -------------------------------------------------------------
  786.  
  787. Copyright 1991-93, Oberon Software, Mankato, MN - All Rights Reserved
  788.  
  789.   -------------------------------------------------------------
  790.  
  791.  =======================================================================
  792.  Changes which effect both the Registered and Shareware Versions of TE/2
  793.  =======================================================================
  794.  
  795. General Note
  796.  
  797.      Oberon Software's GEnie ID has changed from "B.FLOWERS" to "BRADY".
  798.      You can address GE Mail to either this ID or to our new Customer
  799.      Support Representative, Steven Tower, at GEnie ID "TOWER".  You
  800.      can send GE Mail to Kimberly Bobrow about Oberon PMQWK at GEnie
  801.      ID "KIMBERLY".
  802.  
  803.      The Oberon User Support TOPic on GEnie has moved from the IBMPC
  804.      RoundTable to the new OS/2 RoundTable.  To access the OS/2 RoundTable
  805.      on GEnie, type "OS/2" at most any GEnie prompt.  The Oberon User
  806.      Support TOPic is in CATegory 22, TOPic 2.
  807.  
  808.      The new OS/2 RoundTable is really taking off and Oberon Software is
  809.      excited to be working closely with GEnie to help ensure its success.
  810.      If you are already a GEnie subscriber, please visit the OS/2 RT on
  811.      Page 1400.  If not, you can contact a GEnie representative for
  812.      subscription information at 1-800-638-9636.
  813.  
  814.      You can also use the new GEnie-Internet Gateway to contact Oberon
  815.      Software now.  Just send Internet mail to brady@genie.geis.com.
  816.      Likewise, contact Steven Tower at tower@genie.geis.com and Kimberly
  817.      Bobrow at kimberly@genie.geis.com.
  818.  
  819.  
  820. OS/2 2.1 Notes
  821.  
  822.      The release of OS/2 2.1 triggered two very visible problems.  For
  823.      one of these problems, a workaround has been effected.  For the
  824.      other, no programmatic workaround has yet been devised however we
  825.      will offer several possible workarounds for the user to try.
  826.  
  827.      1. Screen is corrupted at TE/2 start-up.
  828.         This problem has been addressed and corrected within TE/2.
  829.  
  830.      2. Keyboard and/or "Screen handler" problems.
  831.         The problem appears to exist in the OS/2 2.x keyboard handler.
  832.         The symptom is that you may receive one or more of the following
  833.         error messages from TE/2 at start-up:
  834.  
  835.               "Cannot initialize screen handler."
  836.               "Cannot set logical keyboard state, error 445"
  837.               "Cannot obtain kbd focus for logical keyboard, error 449"
  838.  
  839.         If this happens it means that OS/2 has been unable to provide
  840.         TE/2 with access to a logical, secondary keyboard which TE/2
  841.         needs to use for its menu and dialog box routines.  TE/2 cannot
  842.         continue if this happens as there would be severe consequences
  843.         during later processing.  The following workarounds have been
  844.         suggested by users and testers and appear to work with varying
  845.         degrees of reliability:
  846.  
  847.             A. Run TE/2 in a window instead of full screen.  This is the
  848.                only suggestion guaranteed to work 100% of the time.  If
  849.                you have slow video, however, you may be displeased with
  850.                the speed of screen updates.
  851.             B. Some users report that the problem only happens when a
  852.                WinOS2 application is running in the background.  Check to
  853.                see what else is running on your machine and see if closing
  854.                any one of them will allow TE/2 to run.
  855.             C. Most users state that if they delete their TE/2 program
  856.                object from the desktop and recreate it from a template
  857.                that this will correct the problem.  Others have re-installed
  858.                OS/2 and have seen the problem corrected.
  859.  
  860.  
  861. New INI File Setting
  862.  
  863.      Variable       Setting and Notes
  864.      -------------  -------------------------------------------------
  865.      SaveScreen     TRUE/FALSE, default: TRUE.  If FALSE the contents of
  866.                     the screen before TE/2 is run will NOT be saved and
  867.                     restored afterwards.  Saves about 2k of memory and a
  868.                     few milliseconds at startup.  If you're running from
  869.                     the desktop there's no need to save the screen anyway.
  870.  
  871.  
  872. Problem Resolution and Other Enhancements
  873.  
  874.      Under OS/2 2.1 when running TE/2 in a full screen session on certain
  875.      hardware configurations, screen corruption at program startup would
  876.      occur.  This has been corrected.
  877.  
  878.      Corrected problem regarding "bleed through" of keystrokes from Dialing
  879.      Directory and Scrollback Buffer into main terminal screen when TE/2
  880.      is run in a window.
  881.  
  882.      Corrected problems encountered when changing COM devices via the
  883.      Alt-P menu in TE/2.
  884.  
  885.      Corrected problem regarding use of root directory paths for UploadPath,
  886.      DownloadPath, and ScriptPath.
  887.  
  888.      Function keys behave normally in Chat Mode (i.e., PF Key macros now
  889.      work).
  890.  
  891.      Backspace in Chat Mode will now wrap backwards across line boundarys.
  892.  
  893.      Added Alt-Y (Yank) in Chat Mode to retrieve the last transmitted line
  894.      for re-edit and re-transmission.
  895.  
  896.      Problems regarding various hard and soft traps and machine lockups
  897.      which were occuring during re-upload of marked text from the scroll
  898.      back buffer have apparently been corrected.  If you have or continue
  899.      to have problems with this function, please notify Oberon Software
  900.      immediately.
  901.  
  902.      Corrected time estimation process on large uploads.
  903.  
  904.  
  905.        ========================================================
  906.        Changes which effect only the Registered Version of TE/2
  907.        ========================================================
  908.  
  909. New Script Function
  910.  
  911.      integer DrawBox(integer Row, integer Col, integer nRows, integer nCols, integer Attr, integer Style, integer Fill)
  912.  
  913.      Draws a box with the specified co-ordinates.  Style is 0 for no frame,
  914.      1 for single line frame, 2 for double line frame.  Fill is TRUE or FALSE.
  915.      Returns TRUE on success, FALSE if parameter error.
  916.  
  917.  
  918. Changes and corrections to Script Parser
  919.  
  920.      Problem with using "%%" in the format string for the message() function
  921.      resolved.
  922.  
  923.      Function SetMark(), the second parameter has rejecting the keyword
  924.      'toggle' which the documentation states should be usable here.
  925.      SetMark() now works correctly.
  926.  
  927.      ZModem was setting the script language system variables: LastDownload
  928.      and LastUpload incorrectly.  This is fixed.
  929.  
  930.      Extraneous TIMEOUT events generated by multiple Waitfor()'s, MuxWait()'s,
  931.      and Rgets()'s which were causing synchronization problems have been
  932.      accomodated for and this problem should be resolved.
  933.  
  934.      All script functions which take a dialing directory "tag" as an
  935.      argument will now accept "#n" instead of a tag to refer to the n-th
  936.      directory entry.
  937.  
  938.  
  939. REXX notes
  940.  
  941.      For some TE/2 fucntions which return either string or numeric
  942.      information, the REXX handler may get confused in certain situations.
  943.      For example, a string which begins with a numeric digit (i.e., "123ABC")
  944.      may get truncated to just the numeric portion ("123" in the example).
  945.      For large numbers, like the return values from OpenDialog() and fopn(),
  946.      REXX may alter the number and, for phone numbers with hyphens embedded,
  947.      it appears that REXX is treating these as numbers and possibly
  948.      attempting to do arithmetic on them!  The solution to this problem is
  949.      to force the return value from TE/2 to REXX to be a string that does
  950.      NOT begin with a numeric digit.  You can do this with sprintf() and
  951.      a subsequent use of REXX's substr() function.  Some examples follow:
  952.  
  953.        /* TE/2 to REXX string and numeric handling */
  954.  
  955.        /* 'DirNumber("")' Returns the phone number most recently dialed    */
  956.                        /* from the dialing directory, i.e. 1-800-555-1212. */
  957.                        /* REXX might think that this is an arithmetic      */
  958.                        /* statement!  So instead...                        */
  959.  
  960.        'sprintf("[%s", DirNumber(""))' /* Will return "[1-800-555-1212"    */
  961.        TheNumber = substr(rc, 2)       /* Makes it "1-800-555-1212" again  */
  962.  
  963.  
  964.        /* 'OpenDialog(...)' Returns a 16-bit memory pointer which REXX     */
  965.                        /* will probably not handle correctly as a return   */
  966.                        /* code.  Use the same workaround...                */
  967.  
  968.        'sprintf("[%s", OpenDialog(...))'
  969.        DlgHandle = substr(rc, 2)
  970.  
  971.  
  972.  
  973. ====================================================================
  974.                                          Notes for TE/2 Version 1.23
  975.                                                       April 15, 1993
  976.  
  977.                                                      Oberon Software
  978.                                                   518 Blue Earth St.
  979.                                               Mankato, MN 56001-2142
  980.  
  981.                                                  Voice: 507/388-7001
  982.                                                  BBS:   507/388-1154
  983.  
  984.   -------------------------------------------------------------
  985.  
  986. Copyright 1991-93, Oberon Software, Mankato, MN - All Rights Reserved
  987.  
  988.   -------------------------------------------------------------
  989.  
  990.  =======================================================================
  991.  Changes which effect both the Registered and Shareware Versions of TE/2
  992.  =======================================================================
  993.  
  994. New INI File Settings
  995.  
  996.      Variable       Setting and Notes
  997.      -------------  -------------------------------------------------
  998.      SetVTDefAttr   TRUE or FALSE, default is FALSE.  If set to TRUE,
  999.                     then the value of your TermAttr will be given to
  1000.                     the VT100 handler to use as the default attribute.
  1001.                     This replaces and overrides any setting for the
  1002.                     "V" flag in the COMMPAK2FLAGS environment variable.
  1003.  
  1004.      NoHPFSSalvage  TRUE or FALSE, default is FALSE.  If set to TRUE,
  1005.                     TE/2 will NOT use the HPFS-type file renaming
  1006.                     scheme when a filename collision occurs on a
  1007.                     download.
  1008.  
  1009.      NoExtSalvage   TRUE or FALSE, default is FALSE.  If set to TRUE
  1010.                     TE/2 will use only one digit from 1 to 9 as the
  1011.                     final character when attempting to resolve a file
  1012.                     name collision on a FAT drive (or when NoHPFSSalvage
  1013.                     is TRUE).
  1014.  
  1015.      SalvageBrkCh   any number from 1 to 255, default is 59.  Set this
  1016.                     to the ASCII value of the character you wish to
  1017.                     use as a separator character when resolving file
  1018.                     name collisions on an HPFS drive.  By default this
  1019.                     is a semi-colon and renamed files have the form:
  1020.                     filename;nn (where nn is a number from 1 to 999).
  1021.                     Suggested settings for this would be 46 (a period),
  1022.                     32 (a space), 45 (a hyphen), or 95 (an underscore).
  1023.                     Do NOT use any character which is not valid in an
  1024.                     HPFS file name such as +, /, \, :, * or ?
  1025.  
  1026.      CursorTop      These are the initial scan line setting for the cursor.
  1027.      CursorBottom   If they are left un-set, the cursor will not be changed.
  1028.                     If one is set, they must both be set.  They can be
  1029.                     queried from the script language but not set, use the
  1030.                     new SetCursorSz() function instead.
  1031.  
  1032.      ExtendedFIFO   This is not a new setting but it was only partially
  1033.                     enabled in TE/2 1.20.  The choices for this setting
  1034.                     are now: TRUE, FALSE, or AUTO.  The "fourth choice"
  1035.                     is to leave reference to it OUT of TE2.INI.  If it
  1036.                     omitted from TE2.INI then the ambient state of the
  1037.                     16550 is preserved and used.  If set to anything at all,
  1038.                     the device is checked first for Extended Hardware
  1039.                     Buffering support.  If supported, then if ExtendedFIFO
  1040.                     is set to FALSE, buffering is disabled; if set to TRUE,
  1041.                     buffering is enabled with a Receive Trigger level of 8
  1042.                     and a Transmit Load Buffer Count of 16; if set to AUTO,
  1043.                     then Auto-Buffering is enabled.
  1044.  
  1045.  
  1046. Problem Resolution and Other Enhancements
  1047.  
  1048.      You may now specify the name of a Named Pipe, either local or remote,
  1049.      in the "Device" field in TE2.INI.  If a pipe name is used then the
  1050.      various COM-specific functions, like setting the baud rate, parity,
  1051.      etc., are silently ignored.
  1052.  
  1053.      An add-on product is available for using TE/2 with TCP/IP sockets
  1054.      and/or NETBIOS sessions.  Please contact Oberon Software if interested.
  1055.  
  1056.      The TE/2 intro screens are no longer garbaged if you start up in
  1057.      132 column mode.
  1058.  
  1059.      Added command line parameter "-?" which will display a list of TE/2's
  1060.      command line parameters, version information, and then exits.
  1061.  
  1062.  
  1063.        ========================================================
  1064.        Changes which effect only the Registered Version of TE/2
  1065.        ========================================================
  1066.  
  1067. New Script Functions
  1068.  
  1069.      integer CRC16(string strg, integer len)
  1070.      integer CRC32(string strg, integer len)
  1071.  
  1072.           These compute and return 16-bit and 32-bit CRCs for the
  1073.           the first 'len' bytes of the supplied string.  If you set
  1074.           len to -1, then the entire string length is used.
  1075.  
  1076.  
  1077.      integer SetFNKeyFile(string filename)
  1078.  
  1079.           Allows a script to load a new function key definition file.
  1080.           Returns 0 on success, 1 if the file was not found or could
  1081.           not be opened for reading, and 2 if an error was encountered
  1082.           reading the file.
  1083.  
  1084.           If the filename parameter is "" then the user will be queried
  1085.           for a file name.  If the filename parameter contains path
  1086.           information and/or a drive letter, then the name is accepted
  1087.           as is, otherwise the standard search alogrithm for TE/2
  1088.           support files is used (current directory, dirctory containing
  1089.           TE2.EXE, and them each directory in the OS/2 PATH statement).
  1090.  
  1091.  
  1092.      string ReadScr(integer row, integer col, integer length)
  1093.  
  1094.           Reads 'length' characters from the terminal screen at row 'row'
  1095.           and column 'col'.  'row' and 'col' are 0 based (upper left corner
  1096.           of screen is [0,0]).  'length' must be greater than zero and
  1097.           less than 256.  If 'length' is zero or less, the empty string
  1098.           is returned.  If 'length' is greater than 256, 256 is used.  No
  1099.           error checking on 'row' and 'col' for validity is performed yet.
  1100.  
  1101.      integer StrnStr(string s1, string s2, integer n)
  1102.  
  1103.           Finds the n-th occurance of s2 in s1.  The call StrnStr(s1, s2, 1)
  1104.           would be identical to StrStr(s1, s2).
  1105.  
  1106.      string UniqueFName(string template)
  1107.  
  1108.           Creates a temporary file name based on 'template' which is a
  1109.           basename plus wildcard characters '?'.  For example:
  1110.           C:\TEMP\FILE????.  The function does NOT open the file.
  1111.           Returns the empty string if no new names could be generated.
  1112.           Note: this function works exactly like the REXX/2 utility function
  1113.           SysTempFileName except that you cannot specify an alternate
  1114.           filler character.
  1115.  
  1116.      integer CancelAllWatch()
  1117.  
  1118.           Cancels all active watches.  Returns the number of watchfor's
  1119.           which were canceled.
  1120.  
  1121.      integer SetCursorSz(integer top, integer bottom)
  1122.  
  1123.           Sets the size of the cursor.  'top' and 'bottom' are the
  1124.           top and bottom scan lines for the cursor, respectively.
  1125.           Returns TRUE on sucsess and FALSE on failure.  If successful,
  1126.           system variables 'CursorTop' and 'CursorBottom' are updated.
  1127.  
  1128.  
  1129.      integer SetMark(string tag, special)
  1130.  
  1131.           "tag" is a dialing directory tag, "special" is TRUE, FALSE, or
  1132.           TOGGLE. This function sets the mark for the queue dialer on the
  1133.           specified dialing directory entry.  Returns the OLD state of the
  1134.           mark for that entry (TRUE or FALSE) or -1 if "tag" was not found.
  1135.  
  1136.  
  1137.      integer TermWindow(integer Row, integer Col, integer nRows, integer nCols)
  1138.  
  1139.           Resets the terminal window (a subset of the physical screen) to the
  1140.           size specified.  Returns TRUE on success, FALSE on error.  It's
  1141.           recommended that you perform a cls() before and after this call.
  1142.           Take great care with this one, it's a direct back door into the
  1143.           terminal emulation code.
  1144.  
  1145.  
  1146. New 'system', read-only script variables:
  1147.  
  1148.      integer Emulation
  1149.           Reports the current emulation mode:
  1150.             0 -> TTY
  1151.             1 -> ANSI-BBS
  1152.             2 -> ANSI-TE/2
  1153.             3 -> VT100
  1154.             4 -> IBM 3101
  1155.  
  1156.      integer Fullscreen
  1157.           Set to TRUE (1) if TE/2 executing in a fullscreen
  1158.           session or FALSE (0) if in a window
  1159.  
  1160.      integer ScreenRows
  1161.      integer ScreenCols
  1162.           These report the actual number of rows and colums on the
  1163.           physical screen.
  1164.  
  1165.      string StartScr
  1166.           Contains the name of the script specified on the TE/2 command
  1167.           line via "-m<scriptfile>".  If none was specified, StartScr
  1168.           contains "".
  1169.  
  1170.      integer RexxRC
  1171.           Contains the return code from the last executed Rexx script
  1172.           (0 if none have been executed).  See notes on Rexx scripting
  1173.           below.
  1174.  
  1175.  
  1176. Changes and corrections to Script Parser
  1177.  
  1178.      Change to the way REXX script return codes are handled.
  1179.           Previously you had to end your REXX script with "exit 1" (or
  1180.           other non-zero value) if you needed to return execution to a
  1181.           TE/2 language script.  A return value of 0 would cause script
  1182.           execution to end.  TE/2 will now continue executing the current
  1183.           script regardless of the REXX return code.  A new, readonly
  1184.           script variable "RexxRC" is set to the return value of the last
  1185.           executed REXX script.
  1186.  
  1187.           Example:
  1188.  
  1189.             program
  1190.               message("This is a TE/2 script^M^J")
  1191.               run("rexxscr.cmd")
  1192.               message("REXX return code is %d^M^J", RexxRC)
  1193.               end
  1194.  
  1195.  
  1196.      Default ScriptPath
  1197.           If the ScriptPath setting in TE2.INI was left NULL, it was
  1198.           erroneously defaulting the search path to the root directory
  1199.           of the current disk.  TE/2 now defaults to the CURRENT
  1200.           directory as the documentation suggests.
  1201.  
  1202.      Reentrancy and Watchfor()
  1203.           Previously the script parser was not reentrant and because of
  1204.           this Watchfor() statements could only be excuted between the
  1205.           execution of individual lines of the script file.  This
  1206.           severely limited the use of Watchfor() in conjunction with
  1207.           actions that should occur immediately (i.e., transmitting a
  1208.           response to a trigger string).  This limitation has now been
  1209.           removed.  Some of the new example scripts use this feature
  1210.           extensively, please refer to them for examples.
  1211.  
  1212.      Download()
  1213.           Because of changes in the TE/2 and Commpak/2 handling of
  1214.           input data streams in the 1.20 release, Download() stopped
  1215.           working correctly with respect to ZModem.  This has been
  1216.           corrected.
  1217.  
  1218.      Watchfor()
  1219.          The number of available watchfor handles has been increased from
  1220.          10 to 32
  1221.  
  1222.      Watchfor(), OpenDialog(), and SaveScr()
  1223.          These functions may now be called 'directly' from REXX scripts.
  1224.          Be sure to retrieve the returned handles immediately from the
  1225.          REXX 'RC' variable after calling one of these.
  1226.  
  1227.      Transmit()
  1228.          The transmit() function was erroneously limiting output
  1229.          to the first 64 characters of any given string and discarding
  1230.          the remainder.  This has been corrected.
  1231.  
  1232.          The transmit() function would behave unpredictably on strings
  1233.          containing one or more modem delay characters if local echo
  1234.          mode was not ON.  This has been corrected.
  1235.  
  1236.  
  1237.  
  1238.  
  1239. ====================================================================
  1240.                                          Notes for TE/2 Version 1.20
  1241.                                                        June 15, 1992
  1242.  
  1243.                                                      Oberon Software
  1244.                                                   518 Blue Earth St.
  1245.                                               Mankato, MN 56001-2142
  1246.  
  1247.                                                  Voice: 507/388-7001
  1248.                                                  BBS:   507/388-1154
  1249.  
  1250.  
  1251.  =======================================================================
  1252.  Changes which effect both the Registered and Shareware Versions of TE/2
  1253.  =======================================================================
  1254.  
  1255.   * New INI File variables
  1256.  
  1257.      DirFile <filename>  -- Names the default dialing directory file
  1258.                             which TE/2 will load at startup.
  1259.  
  1260.      FnkFile <filename>  -- Names the default function key definition
  1261.                             file which TE/2 will load at startup.
  1262.  
  1263.      XexFile <filename>  -- Names the default external programs file
  1264.                             which TE/2 will load at startup.
  1265.  
  1266.      VT100Prn <devname>  -- Names the "printer device" to be used in
  1267.                             conjunction with the new printer support
  1268.                             in the VT100 emulation (described elsewhere
  1269.                             in this document)
  1270.  
  1271.      VT100Backspace      -- Set to True or False, default is False.  If
  1272.                             "true", the VT100 emulation will interpret
  1273.                             incoming backspace characters as "destructive"
  1274.                             (That is, a backspace will be equivalent to
  1275.                             the sequence backspace-space-backspace).
  1276.  
  1277.      SwapBS4Del          -- Set to True or False, default is False.  If
  1278.                             "true", TE/2 will transmit a DEL character
  1279.                             (ASCII 127) from the backspace key instead of
  1280.                             the default backspace character (ASCII 8).
  1281.                             Note that this effects ONLY the backspace key
  1282.                             itself and not CONTROL+H.
  1283.  
  1284.      DialerSendInit      -- Set to True or False, default is False.  If
  1285.                             "true" the TE/2 dialer will transmit the modem
  1286.                             initialization string ("ModemInitStrg") to the
  1287.                             modem at the beginning of each dialing session.
  1288.  
  1289.  
  1290.   * New INI file keyword
  1291.      INCLUDE <filename>  -- allows you to segregate portions of your
  1292.                             INI file settings into separate files.
  1293.                             This feature is used in the default INI
  1294.                             file for the new modem definition setup
  1295.                             described elsewhere in this document.
  1296.  
  1297.   * Online Colors Setup!
  1298.      Atl-Y from within TE/2 will now execute TE2COLOR.EXE if possible.
  1299.      TE2COLOR.EXE must be either
  1300.           1) in the current directory,
  1301.           2) in the same directory as TE2.EXE, or
  1302.           3) somewhere on the PATH.
  1303.      Your INI file must be located likewise (if you've changed directories
  1304.      since startup, this may cause a problem).  Note that online color
  1305.      setup WILL NOT WORK if you have your color attributes in a file which
  1306.      has been "included" into your .INI file.  If this is the case, you
  1307.      still can run TE2COLOR as a standalone, the command line syntax is
  1308.      "TE2COLOR filename".
  1309.  
  1310.  
  1311.   * Modem setup files
  1312.      A file named MODEMS.ZIP is included with this release of TE/2.
  1313.      It contains over 60 modem configuration files designed to be
  1314.      "included" into your TE2.INI for various modem types.  To use
  1315.      these files, refer to the file MODEMS.DOC which is contained
  1316.      in MODEMS.ZIP.
  1317.  
  1318.  
  1319.   * Alternate Keyboards
  1320.      Alt-= brings up a menu of alternate keyboards for you to choose
  1321.      from.  Support is provided for:
  1322.  
  1323.                OS2You Mode
  1324.                Doorway Mode (Standard)
  1325.                Doorway Mode (Enhanced)
  1326.                "Pure" Binary Mode for function keys
  1327.  
  1328.      See TE2.DOC, the section on "Alternate Keyboards" for a description
  1329.      of each of these and further information.
  1330.  
  1331.  
  1332.   * PASSWORD Field in Dialing Directory entries
  1333.      You can assign a string to be associated with each entry into
  1334.      the dialing directory.  The "Toggle" function in the dialing
  1335.      directory screen will allow you to view this setting.  In the
  1336.      full featured version of TE/2, you may access this value via
  1337.      the "PASSWORD()" function (described elsewhere in this document).
  1338.  
  1339.  
  1340.   * "Access Codes" in the dialing directory
  1341.      This was previously a "registered version only" feature, it
  1342.      has now been included into the shareware release of TE/2.
  1343.      This feature allows you to enter up to ten strings for each
  1344.      dialing directory that may be substituted as "macros" into
  1345.      the phone numbers of directory entries.
  1346.  
  1347.  
  1348.   * New "Filename Mangling" logic on download filename collisions
  1349.      The old filename resolution logic, involving dollar sign
  1350.      characters, has been replaced.  TE/2 will resolve filename
  1351.      collisions differently depending on whether the target disk
  1352.      is formatted with HPFS or not:
  1353.  
  1354.           On HPFS, ";xx", where "xx" is a number starting at 1,
  1355.           will be appended to the existing file's name.
  1356.  
  1357.           On FAT, the last two characters of the existing file's
  1358.           name will be replaced with a two digit number beginning
  1359.           at 01.
  1360.  
  1361.  
  1362.   * COMMPAK2FLAGS Environment Variable
  1363.      This environment variable has been instituted as a means of
  1364.      passing certain information into Commpak2.Dll to alter its
  1365.      behavior.  At this time, there is one valid setting for
  1366.      COMMPAK2FLAGS:
  1367.  
  1368.         "set COMMPAK2FLAGS=X:Y;"  or "set COMMPAK2FLAGS=X:N;"
  1369.  
  1370.      These settings will turn the 16550 Extended Hardware Buffering
  1371.      check ON and OFF respectively.  The default is on.  Although the
  1372.      com device driver should only return an error in response to a
  1373.      check for the 16550 chip, on some machines it causes a fatal
  1374.      trap!  If you experience this problem just as a file transfer
  1375.      begins, you should set COMMPAK2FLAGS=X:N; in your CONFIG.SYS.
  1376.  
  1377.  
  1378.   * New INI Setting: ExtendedFIFO True/False
  1379.      TE/2 will not alter the BUFFERS setting for the com port upon
  1380.      startup unless this setting appears in the INI file  (that is,
  1381.      TE/2 will use whatever is default or has been set via the OS/2
  1382.      MODE command).  If ExtendedFIFO is set to "TRUE", TE/2 will
  1383.      attempt to set AUTO buffering, if it is set to "FALSE" it will
  1384.      attempt turn off the 16550 FIFO buffer.  Do not use this setting
  1385.      unless you deem it absolutely necessary.  Note also that the
  1386.      file transfer protocols will, by default, attempt to set AUTO
  1387.      buffering during file transfer.  If this causes a problem on
  1388.      your machine, you can turn this off via the COMMPAK2FLAGS
  1389.      environment variable described elsewhere in this document.
  1390.  
  1391.  
  1392.   * VT100 Printing
  1393.      If the new INI file setting "VT100Prn" is set to a valid
  1394.      device or file name before entering VT100 mode, certain VT220
  1395.      printing features will be enabled.  This will allow the host
  1396.      program to direct the VT100 to perform various print functions:
  1397.  
  1398.           Auto Print Mode ON and OFF  (^[[?5i and ^[[?4i)
  1399.                All following display lines print when you move the
  1400.                cursor off the line using a LF, FF, VT, or auto wrap.
  1401.                The printed line ends with a CR and the character which
  1402.                moved the cursor off the previous line.  Auto line
  1403.                wrap line "ends" with a LF.
  1404.  
  1405.           Printer Controller Mode ON and OFF (^[[5i and ^[[4i)
  1406.                The terminal sends received characters to the printer
  1407.                without displaying them on the screen.  All characters
  1408.                and character sequences, except NULL, XON, XOFF, ^[[5i,
  1409.                and ^[[4i, are sent to the printer.  Printer controller
  1410.                mode has a higher priority than Auto print mode.  It can
  1411.                be selected during auto print mode.
  1412.  
  1413.           Print Screen (^[[i or ^[[0i)
  1414.                Print the screen or the current scrolling region (depending
  1415.                on the DECPEX setting).  Each line ends with a CR+LF
  1416.                pair and the operation is completed with a FF if DECPFF
  1417.                mode is selected.
  1418.  
  1419.           DSR response to ^[?15n
  1420.                The VT100 will respond to the hosts query for terminal
  1421.                printer information with ^[[?10n if a device has been
  1422.                named via VT100Prn (implying the printer is "ready") or
  1423.                with ^[[?13n if no device is named (printer NOT "ready").
  1424.  
  1425.           Print Mode Selection Supported
  1426.                ^[[?18h -- DECPFF. Print FF after print screen.
  1427.                ^[[?18l -- DECPFF. Don't print FF after print screen.
  1428.                ^[[?19h -- DECPEX. ^[[i prints full screen.
  1429.                ^[[?19l -- DECPEX. ^[[i prints active scroll region.
  1430.  
  1431.           Print cursor line NOT supported
  1432.                ^[[1i, "Print current cursor line" is NOT supported by the
  1433.                VT100 emulation as it would not be possible to produce
  1434.                reasonable printer output from this function given the
  1435.                intervention of the OS/2 spooler.
  1436.  
  1437.  
  1438.   * Character translation of "[" characters filtered
  1439.      For certain European character setups, the "[" needs to be
  1440.      translated but it still needs to be accessed "as is" when it
  1441.      appears in an ANSI or VT100 control sequence!  When applying
  1442.      character translation from the XLat table, TE/2 now checks for
  1443.      the special case of '[' immediately following an ESCape character
  1444.      and does not translate it in this situation.  Any arbitrary
  1445.      number of control characters may appear between the ESC and the
  1446.      '[' and it will still be considered "immediately after".
  1447.  
  1448.  
  1449.   * High-bit characters allowed in input fields.
  1450.      European users can now enter their names properly in the dialing
  1451.      directory and other input fields!
  1452.  
  1453.  
  1454.   * TE/2 now no longer reports negative numbers for baud rates of
  1455.      38400 or greater.
  1456.  
  1457.   * The default baud rate for a new entry into the TE/2 dialing
  1458.      directory is now set to whatever was specified in your "Baud"
  1459.      statement in TE2.INI.
  1460.  
  1461.  
  1462.   * TRAP 0008 problem for TE/2 with shared modem over LAN addressed.
  1463.      If you have experienced this problem, place the line:
  1464.  
  1465.                     NoOvIO    TRUE
  1466.  
  1467.      anywhere in your TE2.INI.  This should correct the problem at
  1468.      the expense of a small amount of throughput.  If the problem
  1469.      persists, please contact Oberon Software.
  1470.  
  1471.  
  1472.   * Cursor problem fixed in input fields when screen in 25 line mode.
  1473.      Previously the cursor would not display correctly in input fields
  1474.      unless the screen was in 43 or 50 line mode.
  1475.  
  1476.   * Long "CONNECT" strings no longer overwrite the borders of the dialer
  1477.      dialog box.
  1478.  
  1479.     ------------------------------------------------------------
  1480.  
  1481.        ========================================================
  1482.        Changes which effect only the Registered Version of TE/2
  1483.        ========================================================
  1484.  
  1485.   * REXX/2 Interface for script writers!
  1486.      You now have the option of writing your TE/2 scripts in either
  1487.      the TE/2 "Original Syntax" Script Language or in the REXX/2
  1488.      Procedure language!  See the notes in SCRIPT.DOC regarding
  1489.      REXX scripts for further information.
  1490.  
  1491.  
  1492.   * New Script Language Functions
  1493.      NOTE: In each of the following functions which use "tag" as an
  1494.      argument, the string "tag" may be either a value to search the
  1495.      directory file's "Tag" field for or it may be "" in which case
  1496.      it is interpreted as "the most recently dialed entry".
  1497.  
  1498.      Password(tag)                 Returns the "Password" field for the
  1499.                                    entry or "" on error.
  1500.  
  1501.      DirName(tag)                  Returns the "Name" field for the entry
  1502.                                    or "" on error.
  1503.  
  1504.      DirPhone(tag)                 Returns the "Number" field for the entry
  1505.                                    or "" on error.
  1506.  
  1507.      DirScript(tag)                Returns the "Script" field for the entry
  1508.                                    or "" on error.
  1509.  
  1510.      DirTag(tag)                   Returns the "Tag" field for the entry
  1511.                                    or "" on error.
  1512.  
  1513.      SaveDirFile(filename)         Saves the current directory as filename,
  1514.                                    if filename is "" saves the current
  1515.                                    directory without changing the name.
  1516.                                    Returns 0 on success, non zero otherwise.
  1517.  
  1518.      SetTag(tag, tag2)             Sets the "Tag" field for the entry,
  1519.                                    returns 1 on success, 0 on failure.
  1520.  
  1521.      SetName(tag, name)            Sets the "Name" field for the entry,
  1522.                                    returns 1 on success, 0 on failure.
  1523.  
  1524.      SetPassword(tag, password)    Sets the "Password" field for the entry,
  1525.                                    returns 1 on success, 0 on failure.
  1526.  
  1527.      SetPhone(tag, phone)          Sets the "Number" field for the entry,
  1528.                                    returns 1 on success, 0 on failure.
  1529.  
  1530.      SetScript(tag, script)        Sets the "Script" field for the entry,
  1531.                                    returns 1 on success, 0 on failure.
  1532.  
  1533.      StrEval(strg)                 Returns the value of its argument.
  1534.                                    This function appears as an aid to the
  1535.                                    REXX language script writer.
  1536.  
  1537.      SetXlatTable(fname, ioflag)   Reads a new character translation table
  1538.                                    from the indicated file.  If ioflag
  1539.                                    is non-zero, it will initialize the
  1540.                                    OUTPUT translation, if it is zero it
  1541.                                    will initialize INPUT translation.  If
  1542.                                    fname is "" the corresponding
  1543.                                    character translation is turned OFF.
  1544.  
  1545.      SetVT100BkSp(flag)            Sets the VT100 backspace mode (see INI
  1546.                                    variable VT100Backspace) to ON or OFF
  1547.                                    depending on the Boolean "flag".  Returns
  1548.                                    the previous state of the VT100 backspace
  1549.                                    mode.
  1550.  
  1551.  
  1552.  
  1553.   * File Transfer Progress Display revised and cleaned up for CIS B+
  1554.      The somewhat confusing "Bytes Transferred" and "Time Remaining"
  1555.      statistics for CIS B+ transfers have been reworked and cleaned up.
  1556.      TE/2 will now "ring the bell" after a CIS B+ file transfer if
  1557.      you have alarms enabled also!
  1558.  
  1559.